1. Field of the Invention
This invention relates to apparatus and methods for remotely caching web pages with variable content.
2. Background of the Invention
To accelerate website content delivery, to reduce network traffic, and to offload the demands placed on a particular server, technologies are often employed that cache portions of a website within a Content Delivery Network (“CDN”). Such technologies are most effective where the content is cached remotely on servers at the edges of a CDN closest to the client, or clients, accessing the website. Where the content of webpages is relatively static, changing little over time, that content can easily be cached remotely with little concern. This is not the case, however, for dynamic content, which changes frequently and must be regenerated often, and variable, or personalized, content which is dynamic by virtue of being selected according to a personalization rule from a collection of variants, each variant being relatively static.
Webpages that are able to support e-commerce rely on variable content for advertisements, transactions, and other functions essential to the mission of such websites. Such variable content is often tailored/targeted to those visiting the corresponding website. For these reasons, a merchant's website will often contain variable content central to an e-commerce experience, where shoppers spend the bulk of their time when they are actively shopping. This variable content is often supplemented by more static content that provides information about the merchant's activities and products. Such static content can include corporate information, product descriptions, and product manuals. It is not uncommon for these static portions to make up a much larger volume of information than the variable content.
The cacheability of an entire page is determined by the least cacheable content that was assembled to produce the page. Therefore, a page assembled entirely from static content, selected by impersonal rules, is a static page and can be cached and reused for all viewers of the website. However, if the page contains any variable content, or if the selection of content uses personalized rules, the resulting page is variable and cannot be cached and shared among viewers as a whole.
Not only would it be desirable and relatively easy to store such static content remotely for the reasons set forth above, but it would also reduce the need to use more resource intensive means of storing the static content, such as the creation of IBM WEBSPHERE COMMERCE pages, or pages in some other software platform framework for e-commerce, to contain the content of those pages. At the same time, it is desirable to retain the functionality of variable content for certain frames, or portions, within those static pages because of the traffic they receive from potential customers. For example, it is desirable to use certain frames, or portions, of these static pages for targeted marketing content that is coordinated with other online campaign activities. It can also be desirable to tailor content to a particular visitor or segment of visitors to the webpage.
Current approaches for caching web pages with variable content are inadequate to meet these needs. One approach, referred to as Edge Side Include (“ESI”), divides a page into cacheable portions, such as the header and the footer of a page, and un-cacheable portions, such as a frame containing weather updates. Drawbacks of this approach, however, are that the variable content cannot be stored remotely to reduce latency and network traffic, and the generation of variable content cannot be offloaded to other servers. Also, ESI technology is proprietary and can be a cost prohibitive solution.
In view of the foregoing, what are needed are apparatus and methods to more efficiently remotely cache static web pages that contain frames with dynamic and targeted content.